

#pragma once

#include "../glm/dvec3.hpp"

CYBERTRON_BEGIN

class Deg2UTM
{
public:
	double Easting;
	char Letter;
	double Northing;
	int Zone;
	double WgsHeight;

public:
	CybertronCoreAPI Deg2UTM();
	CybertronCoreAPI Deg2UTM(double Lat, double Lon);
	CybertronCoreAPI Deg2UTM(double Lat, double Lon, int Zone);
	CybertronCoreAPI Deg2UTM(const Deg2UTM& rhs);
	CybertronCoreAPI Deg2UTM& operator = (const Deg2UTM& rhs);

	CybertronCoreAPI void clear();

private:
	CybertronCoreAPI void build(double Lat, double Lon, int Zone);
};

class UTM2Deg
{
public:
	double Latitude;
	double Longitude;
	double Altitude;

public:
	CybertronCoreAPI UTM2Deg();
	CybertronCoreAPI UTM2Deg(const UTM2Deg& rhs);
	CybertronCoreAPI UTM2Deg& operator = (const UTM2Deg& rhs);

	CybertronCoreAPI void clear();

	CybertronCoreAPI void build(const Deg2UTM& input);
};

CYBERTRON_END
